package com.enjava.web;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import com.enjava.UsuarioReg;
import com.enjava.excepciones.EdadException;
import com.enjava.excepciones.UsuarioRegistradoException;
import com.enjava.interfaces.ServicioRegistro;

@Controller
public class ControladorRegistro {

	
	@Autowired
	ServicioRegistro servicioRegistroAutomatico;
	
	
	public ServicioRegistro getServicioRegistroAutomatico() {
		return servicioRegistroAutomatico;
	}


	public void setServicioRegistroAutomatico(
			ServicioRegistro servicioRegistroAutomatico) {
		this.servicioRegistroAutomatico = servicioRegistroAutomatico;
	}


	@RequestMapping("/registra/edad={edad}&mail={mailUsuario}&clave={clave}")
	 public String registraUsuario(Model model, @PathVariable int edad, @PathVariable String mailUsuario, @PathVariable String clave) {
       
		System.out.println("pasa por el controlador");
		UsuarioReg usuarioReg;
		
		try {
			usuarioReg = servicioRegistroAutomatico.registra(edad, mailUsuario, clave);
			model.addAttribute("mail", usuarioReg.getMailUsuario());
			return "registroCorrecto";
		} catch (EdadException e) {
			e.printStackTrace();
			return "edadInsuficiente";
		} catch (UsuarioRegistradoException e) {
			e.printStackTrace();
			return "errorRegistro";
		}
		
    }
}
